import request from "../../utils/request"
// pages/center/center.js
// startY 设置变量记录手指滑动Y距离
let startY = 0;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 向下拖拽的y轴方向的距离
    moveY:0,
    // 过度动画的初始设置
    transition:'',
    // 登录之后获取用户数据(已经将用户数据保存在本地了,直接从本地拿)
    userInfo:{},
    // 最近播放的初始数据
    songList:[]
  },
  // 1.手指触摸动作开始的事件函数
  handlerStart(e){
    // event.touches(事件对象) 表示当前停留在屏幕上的触摸点,是一个数组
    // 获取手指触摸开始的位置并设置给startY变量
    startY = e.touches[0].clientY
    // 手指触摸时触发
    this.setData({
      transition:""
    })
  },
  // 2.手指移动的事件函数
  handlerMove(e){
    // 获取手指移动的距离
    const clientY =  e.touches[0].clientY
    // 进行判断,如果移动的距离大于开始的位置,就执行代码,将距离设置给data的y周距离 
    if(clientY>startY){
      this.setData({
        moveY:clientY - startY + "rpx"
      })
    }
  },
  // 3.手指离开的事件函数
  handlerEnd(){
    // 手指离开时,设置过渡动画
    this.setData({
      moveY:"0rpx",
      transition:"all , 1s"
    })
  },

  // 4.点击头像的事件函数,点击头像跳转登录页
  toLogin(){
    wx.navigateTo({
      url: '/pages/login/login',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    // 初始化的时候,直接从本地中拿到保存的用户数据
    const userInfo = wx.getStorageSync('userInfo')
    // 将获取的用户数据设置给state中的userInfo
    this.setData({
      userInfo:userInfo
    })
    // console.log(userInfo,"用户信息");
    // 在发起播放历时的请求之前,先确定是否已经登录,确定登录之后再发起请求
    if(userInfo.nickname){
      const re =await request("/user/record",{uid:userInfo.userId},"GET")
      // console.log(re);
      // 将播放历史的数据,通过map映射返回一个新的数组,设置给data中的songList,然后渲染到页面上
      this.setData({
        songList:re.weekData.map((item)=>{
          return item.song.al.picUrl
        })
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})